A window environment is system software that manages interactions between a user and an application program executing on a computer through a graphical display portrayed on a display screen of the computer. The graphical display is typically arranged to resemble the surface of an electronic "desktop" and an application program running on the computer is represented as one or more electronic paper sheets displayed in rectangular regions of the screen called "windows". Specifically, the application program presents information to the user through its window by drawing images, graphics or text within the window region. The user, in turn, communicates with the application by "pointing at" standard graphical objects in the window with a pointer that is controlled by a pointing device, such as a mouse, and then selecting the objects, or by typing information into a keyboard. Selection of the objects may be effected by actuating the mouse to move the pointer onto or near the objects and pressing and quickly releasing, i.e., "clicking", a button on the mouse, or by manipulating a cursor via the keyboard.
The graphical objects typically included with each window region are sizing boxes, buttons and scroll bars. These objects represent user interface elements that the user can point at with the pointer to select or manipulate. For example, the user may manipulate these elements to move the windows around on the display screen, and change their sizes and appearances so as to arrange the window in a convenient manner. When the elements are selected or manipulated, the underlying application program is informed, via the window environment, that control has been appropriated by the user.
A menu bar is a further example of a user interface element that provides a list of menus which are generally available to a user. Each menu, in turn, provides a list of command options that can be selected merely by pointing to them and clicking on them with the mouse-controlled.
In general, the desktop metaphor facilitates user efficiency by presenting a means by which a user can easily organize applications. Typically, applications are organized on the desktop into predefined "groups" of application programs and related program files. Each of these applications are represented by a small picture called an "icon". The user can arrange, create and delete the icons and their associated groups displayed on the desktop. These applications may be opened from a predefined group, at which time they run in "application windows" that are visible on the desktop. The open application windows can be minimized to appear as icons without quitting the applications.
There are a number of different window environments commercially available which utilize the arrangement described above. These environments include the System 7.RTM. operating system developed by Apple Computer, Inc., the Windows.RTM. graphical user interface developed by the Microsoft Corporation and the OS/2 Presentation Manager.RTM. developed by International Business Machines Corporation. The present invention is applicable to all such environments and is concerned with protecting application and system software programs executing on a computer system that is accessible to many different users, such as a demonstration computer.
Manufacturers and distributors of computer systems typically provide specially-designed software programs that demonstrate certain features of their systems. Personnel concerned with selling and purchasing these systems often desire to "play" with the computers in order to become more familiar with the software and their features. This is particularly true in retail distribution, where potential customers frequently interact with application and system software through a desktop of the window environment executing on the demonstration computers.
However, these customers often erase or destroy the software, typically when there are no sales people present. One solution to this costly problem requires that user enter a password prior to accessing the demonstration software. Yet, this solution has proven unsatisfactory because a customer can only use the computer when a sales person is available. Moreover, if the sales person inadvertently leaves the system "unlocked" in the presence of customers, security is compromised.
Therefore, it is among the objects of the present invention to provide a protected environment in which to run demonstration software on a computer system.